package designpatterns.templatemethod;

/**
 * 模板方法模式（Template Method）‌
 * 定义一个操作中的算法骨架，而将算法的一些步骤延迟到子类中，使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。
 * 它封装了不变部分，扩展可变部分。它把认为是不变的部分的算法封装到父类中实现，而把可变部分算法由子类继承实现，便于子类继续扩展。‌
 * 定义算法骨架，延迟步骤到子类实现。
 */
public class Client {
    public static void main(String[] args) {
        AbstractClass subClass1 = new SubClass1();
        subClass1.templateMethod();
    }
}
